perm filename DFTP.MRC[UP,DOC]1 blob
sn#240501 filedate 1976-10-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00014 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 NOTE!!! AS YET, THERE IS NO SAIL NODE ON THE DATACOMPUTER. LES
C00005 00003
C00007 00004 The datacomputer is a shared large-scale data storage utility
C00012 00005 DFTP User's Guide Page 2
C00016 00006 DFTP User's Guide Page 3
C00021 00007 DFTP User's Guide Page 4
C00022 00008 DFTP Command Summary
C00024 00009 DFTP Command Summary Page 2
C00026 00010 A Sample DFTP Dialog
C00028 00011 Connect to a subdirectory.
C00030 00012 Connect to a subdirectory.
C00033 00013 List all nodes under the CONNECT node.
C00036 00014 Connect to the ATTACH node.
C00038 ENDMK
C⊗;
NOTE!!! AS YET, THERE IS NO SAIL NODE ON THE DATACOMPUTER. LES
AND I ARE TRYING TO GET CCA TO CREATE ONE.
HOWEVER, UNTIL ONE IS CREATED, SAIL USERS WILL USE THE ITS NODE.
TO GET A NODE CREATED ON THE DATACOMPUTER FOR YOU(WHEN DFTP IS RUN,
IT WILL LOG YOU IN AS ITS.<PROGRAMMER NAME>, EX: ITS.MRC ), SEND
MAIL TO MRC AND I WILL CREATE A NODE FOR YOU FAIRLY SOON THEREAFTER
(WHENEVER I SEE THE MESSAGE).
PLEASE SPECIFY IF [A] YOU WANT A PASSWORD ON YOUR NODE(IF SO, THEN
NOBODY CAN ACCESS THE NODE WITHOUT KNOWING THE PASSWORD) AND IF SO,
WHAT PASSWORD; AND [B] IF YOU WISH TO RESTRICT ACCESS TO THE NODE
TO NETWORK CONNECTIONS COMING FROM A PARTICULAR HOST.
-- MARK CRISPIN (MRC)
Computer Corporation of America
Datacomputer File Transfer Program User's Guide
January 1976
The datacomputer is a shared large-scale data storage utility
offering data storage and data management services to other computers
on the Arpanet. The system is intended to be used as a centralized
facility for archiving data, for sharing data among the various
network hosts, and for providing inexpensive on-line storage for sites
needing to supplement their local capability. The datacomputer is
implemented on dedicated hardware, and comprises a separate computing
system specialized for data management. Logically, the system can be
viewed as a closed box shared by multiple external processors and
accessed in a standard notation called datalanguage.
The Datacomputer File Transfer Program (DFTP) is a user-invoked
program that stores and retrieves local files on the datacomputer.
DFTP translates simple user commands into datalanguage, sends the
datalanguage and data to the datacomputer, processes the messages and
data returned from the datacomputer, and notifies the user of the
results. DFTP also manages local file input/output and secondary
network connections to and from the datacomputer.
The Directory
←←← ←←←←←←←←←
The DFTP datacomputer directory is a tree, with site nodes
anchored to a common root node, user nodes subordinate to site nodes,
and files beneath user nodes. A user's name space may be further
divided into subdirectories of arbitrary depth. Pictorially,
<root>
/ \
site site ...
/ \
user user ...
/ \
file subdirectory ...
/ \
file subdirectory ...
/ \
file file ...
Any node in the directory can be accessed via a generalized means
for specifying paths through the directory tree. The mechanism
consists of a context, or anchoring point, for name references, and a
pathname, which is the sequence of node names, starting at the anchor,
defining the desired branch of the directory tree.
There are three contexts: the top context, the attach context,
and the connect context (syntactically indicated by three, two, and
one left angle brackets, respectively). The top context (<<<) anchors
the pathname at the root node and is used primarily for referencing
other site and user nodes. The attach context (<<) is a path, set by
the ATTACH command (and by DFTP automatically at the beginning of a
session), and usually ends with a user node. It is used mainly as a
reference point for name space division beneath the user node. The
connect context (<) is a path (initially the same as the attach
DFTP User's Guide Page 2
context), set by the CONNECT command, and conventionally terminates in
a subdirectory. Contexts need not always be specified -- each DFTP
command has a default context (which is the connect context for all
commands except ATTACH and CONNECT, which have as their respective
defaults the top context and the attach context).
The pathname part of the directory path consists of a sequence of
node names (consecutive levels in the tree) separated by right angle
brackets. A password may be necessary in acquiring access privileges
at a particular node, in which case the node name is followed by a
colon and the password.
Some examples of directory paths:
<<<CCA>HACKER:>WALDO
Starting at the top context, the pathname references the subdirectory
WALDO under user HACKER at site CCA (with a password supplied to gain
access to HACKER).
<<MACROS>COMMON>SYSMAC.MAC
Starting at the attached context (presumably a user node), the
pathname references the file SYSMAC.MAC under the COMMON subdirectory
of the MACROS subdirectory.
Commands
←←←←←←←←
DFTP command and argument input is similar to TENEX, with command
recognition and TENEX editing controls. In particular,
<control-A> deletes a character,
<control-R> retypes the line,
<control-X> and <rubout> delete the line,
<escape> and <space> are separators, and
<carriage return>, <line feed> and <eol> are terminators.
The DFTP commands and their arguments are:
ATTACH [path]
CONNECT (path)
COPY [source path] [destination path]
DELETE [path]
DIRECTORY (path)
CREATION
TERSE
VERBOSE
GET [path] (local synonym)
RETRIEVE is equivalent to GET.
PUT [path] (remote synonym)
STORE is equivalent to PUT.
SHOW-DATALANGUAGE
NO-DATALANGUAGE
TIME-TRANSFERS
UNTIME-TRANSFERS
VERIFY [path] (remote synonym)
QUIT
Items in square brackets are required arguments; items in parentheses
DFTP User's Guide Page 3
are optional ones.
The ATTACH command sets the attach context and initiates
datacomputer accounting functions.
The CONNECT command sets the connect context. The default (if no
path is input) is the attach context.
Copies of DFTP files are made with the COPY command, which can
also be used to move and rename files (in conjunction with DELETE).
Subdirectories and files are deleted with the DELETE command.
The path argument of the command may have *'s in the place of
subdirectories, files, and/or extensions, which indicate that all
objects at that level are to be deleted. If the path is terminated
with an escape, all objects below the path will also be deleted.
The DIRECTORY command lists the part of the DFTP directory
selected by its path argument. Escape and * operate in the same
manner as in the DELETE command. The default (if no path is input) is
the current context and all objects beneath it. Subcommands include
TERSE, VERBOSE, and CREATION. TERSE lists names only. VERBOSE lists
all directory information associated with a node, including
datacomputer creation date (in Greenwich mean time) and space
allocated (in TENEX pages). CREATION gives the dates and times that
files were originally created on the local computer.
The GET and PUT commands retrieve and store local disk files on
the datacomputer. Files of any type (e.g., text, binary image) up to
500 TENEX pages (2000 TOPS-10 blocks) in size can be stored. Files
may be stored and retrieved with destination names different from
their source names, in which case the synonym option is used by
completing the first argument to the GET or PUT with an escape or a
space. The commands then operate as
GET [datacomputer file] as [local file]
and
PUT [local file] as [datacomputer file].
The SHOW-DATALANGUAGE and NO-DATALANGUAGE commands respectively
allow and inhibit the output to the user's terminal of the messages
sent to and received from the datacomputer.
Data transfer rates are calculated and given to the user when the
TIME-TRANSFERS command has been invoked. The calculations are avoided
with the UNTIME-TRANSFERS command.
The VERIFY command compares a local file with a datacomputer file
(word by word) and reports differences.
QUIT exits gracefully from DFTP, closing the datacomputer network
connections.
connections.
DFTP User's Guide Page 4
There are three types of messages that DFTP gives the user.
Comments surrounded by square brackets are primarily informational
messages, and are never errors. Parentheses enclose non-fatal errors,
such as "(DION: NAME NOT FOUND IN DIRECTORY)", which is the result of
an attempt to GET a nonexistent file. This message comes directly
from the datacomputer, indicated by the name and colon at the head of
the message. Fatal error messages are surrounded by question marks,
and of course never occur.
DFTP Command Summary
←←←← ←←←←←←← ←←←←←←←
Paths
<path> ::= <context>
| <context> <pathname>
| <pathname>
<context> ::= < (connect context)
| << (attach context)
| <<< (top context)
<pathname> ::= <node>
| <node> . <node>
| <node> > <pathname>
<node> ::= <name>
| <name> : <password>
| *
Notes:
Any printing ASCII characters except <, >, ., :, *, ?,
', and " may be used in a <name>.
Any printing ASCII characters (plus space) except >, .,
', and " may be used in a <password>.
DFTP Command Summary Page 2
Commands
ATTACH [path]
CONNECT [path] (1)
COPY [source path] [destination path]
DELETE [path] (2)
DIRECTORY [path] (2) (3)
CREATION
TERSE
VERBOSE
GET (RETRIEVE) [path] [synonym (local file name)] (4)
PUT (STORE) [path] [synonym (path)] (4)
QUIT
SHOW-DATALANGUAGE
NO-DATALANGUAGE
TIME-TRANSFERS
UNTIME-TRANSFERS
VERIFY [path] [synonym (path)] (4)
Notes:
Input arguments are indicated by square brackets.
The connect context is the default context for all
commands except ATTACH and CONNECT, which have as
their respective defaults the top context and the
attach context.
(1) The default (if no path is input) is the attached
node.
(2) If the path is terminated by an escape or a space,
it includes all inferior nodes.
(3) The default (if no path is input) is the connected
node and all its inferior nodes. The default
subcommand is TERSE.
(4) The second argument is optional.
A Sample DFTP Dialog
[Attaching]
;List the ATTACH node.
; (user HACKER under site CCA)
*DIRECTORY <<
**TERSE
CCA
HACKER
;List the CONNECT node.
; (same as the ATTACH node (initially set as such))
*DIRECTORY <
**TERSE
CCA
HACKER
;List all nodes under the CONNECT node.
; (the argument to the DIRECTORY command is a space)
; (files are indicated by "[F]")
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
SAV [F]
WALDO [F]
;Store a file.
; (WALDO already exists (the old copy will be deleted when confirmed))
*PUT WALDO
[Old File][Confirm]
;Connect to a subdirectory.
; (LIBRARY already exists)
*CONNECT LIBRARY
[Old Node]
;List the CONNECT node.
*DIRECTORY <
**TERSE
CCA
HACKER
LIBRARY
;List all files with MAC extensions under the CONNECT node.
; (*'s may be used at any level)
*DIRECTORY *.MAC
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
*TIME-TRANSFERS
;Retrieve a file.
; ("[OK]" indicates that data transfer is commencing)
*GET DFTP.MAC
[OK]
(63691 Baud (636912 bits in 10 seconds))
*UNTIME-TRANSFERS
;Compare a local file with the datacomputer version.
*VERIFY DFTP.MAC
[OK]
;Connect to a subdirectory.
; (SAVE is a new node)
; (the default context of the CONNECT command is the ATTACH node)
*CONNECT SAVE
[New Node][Confirm]
;List the CONNECT node.
*DIRECTORY <
**TERSE
CCA
HACKER
SAVE
;Copy an existing datacomputer file to a new one.
; (the old file is SAV.DFTP under subdirectory CCA of host COMMON)
; (the new file is DFTP.SAV under the CONNECT node)
*COPY <<<COMMON>CCA>SAV.DFTP [To] DFTP.SAV
[New File]
;Copy an existing datacomputer file to a new one.
; (the old file is READ.SAV under the LIBRARY subdirectory)
; (the new file is READ.SAV under the CONNECT node)
; (the user's allocation will be exceeded by the COPY)
*COPY <<LIBRARY>READ.SAV [To] READ.SAV
[New File]
(ANCLIM: NEW ALLOC WOULD EXCEED SPACE LIMITS)
;Retrieve a file.
; (store READ.SAV temporarily on local disk as TMP.TMP)
; (a space after READ.SAV invokes the synonym feature)
*GET <<LIBRARY>READ.SAV [As] TMP.TMP
[OK]
;Delete a file.
; (delete READ.SAV to make room for the new copy)
*DELETE <<LIBRARY>READ.SAV [Confirm]
;Store a file.
; (restore the file temporarily held on local disk)
; (a space as the file name invokes TENEX name recognition (">" prompt))
*PUT >TMP.TMP;1 [Old version] [As] READ.SAV
[New File]
;List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
SAVE
DFTP
SAV [F]
READ
SAV [F]
;List all nodes under the CONNECT node.
; (list all information (other than CREATION) (in datacompuer format))
*DIRECTORY [Nodes]
**VERBOSE
CCA
HACKER
SAVE
] M-PG=54253473 USED=40
] IN-N=4 IN-F=2
] CREA=760218200600
DFTP
] M-PG=54253473 USED=30
] IN-N=1 IN-F=1
] CREA=760218200638
SAV
] B-AL=21 USED=20 O-AL=21 RECS=10240
] CREA=760218200639 WRIT=760218200643 READ=0
] DUMP=000000000000 D-ID=000000000000
READ
] M-PG=54253473 USED=10
] IN-N=1 IN-F=1
] CREA=760218200928
SAV
] B-AL=2 USED=1 O-AL=2 RECS=425
] CREA=760218200929 WRIT=760218200933 READ=0
] DUMP=000000000000 D-ID=000000000000
;List all nodes under the CONNECT node.
; (list local creation dates (preserved across DFTP transfers))
*DIRECTORY [Nodes]
**CREATION
CCA
HACKER
SAVE
DFTP
SAV 17-JAN-76 23:25:48
READ
SAV 10-JUN-74 13:53:55
;Connect to the ATTACH node.
; (the argument to the CONNECT command is a space)
*CONNECT [Attached Node]
[Old Node]
:List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
WALDO [F]
SAVE
DFTP
SAV [F]
READ
SAV [F]
*QUIT